/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package freya.dao;
import freya.util.*;

import freya.exception.MatriculaDuplicada;
import freya.model.Usuario;
import freya.util.HibernateUtil;
import java.util.ArrayList;
import java.util.List;
import org.hibernate.Session;
import org.hibernate.Transaction;

/**
 *
 * @author Danilo Rodrigues
 */
public class UsuarioDAO implements InterfaceUsuarioDAO{
    private static ArrayList mensagens = new ArrayList();
    private final Session session;
    
    Log log = new Log();
    
    public UsuarioDAO() {  
        this.session = HibernateUtil.getSessionFactory().getCurrentSession();
    }
    
    @Override
    public void Insert(Usuario usuario){ 
        try
        {
            Transaction tx_usuario = (Transaction) session.beginTransaction();
            session.save(usuario);
            tx_usuario.commit();
            log.cadastroSucessUser();
        }
        catch(Exception e) {
            e.getMessage().toString();
            log.erroUserCad();
        }
    }
    
    @Override
    public List List(){
        List<Usuario> list = null;
        try
        {
            Transaction tx_usuario = (Transaction) session.beginTransaction();
            list = (List<Usuario>)session.createQuery("from Usuario").list();
            tx_usuario.commit();
        }
        catch(Exception e) {
            e.printStackTrace();
        }
        return list;
    }

  
    }
    

